            BRIEF DESCRIPTIONS OF FILES IN OPLEXAMP.ZIP
                                 
                  Mike Niklaus :  7th March, 1995
                                 
Because I didn't have the time to download and try out each
program, I simply read the .txt and .opl files and attempted to
work out what any code in them did.  I am new to the Psion S3 and
S3a so please forgive the queries and probable inaccuracies in the
following list.

It will be much appreciated by me if any expert reading this
document is able to let Steve Lichfield have an updated version of
it.

                                 #
3aeval.opl      Uses  OOPS methods to allow  a  graphics  prog  to
perform evaluation?

                                 A
Aalam.opl      Details of calls to OS time.
Abstim.opl      Demonstrates how to set up a  timer  using  system
time  and  launch  an   application when  the  timer  duration  is
completed.
Agendfmt.txt   Details of how agenda files are formatted.
Alarms.opl     Alarm setting program.
Alarm.opl      Alarm setting program.
And.opl         Complex  text about overflows and  using  the  AND
operator.
Assemb.opl      Assembler prog snippet regarding  two  dimensional
arrays(?)
Atten.opl      Calculates electrical impedances.
Attime.txt      Shoes how to make Psion switch on at  a  specified
time.
Attrib.opl      Shows  how to set file attributes  from  within  a
prog.
Attrib.opo     Presumably the run time module of Attrib.opl(?)

                                 B
Basechng.opl   Prog which converts values from one numeric base to
another.
Batchchk.opl   Displays battery voltages.
Battery.opl    Displays Psion battery voltages.
Beeper.opl     Tiny prog which beeps whenever PEEKW ($28) is  non-
zero(!)
Bitmap.opl      Appears  to move an icon around  the  screen  when
various keys are pressed(?)

                                 C
Capture.txt     Runs  specified program  when  specified  keypress
combination detected.
Checkdir.txt    How  to  write  code  to  distinguish  between   a
directory and a file.
Circlex.opl    A quick way of drawing a circle.
Clockcrd.opl   Processes clock card data.
Combsort.opl   Example of a 'comb' sort, used on an array here but
modifiable for .dbf files.
Commtime.txt   How to get your prog to communicate over the serial
link.
Contrast.txt   Prog to read and/or change contrast value.
Conv.opl       Adds conversions to Psion Calculator.
Countdwn.opl   Simple prog to beep after a specified duration.
Cpress.opl     Compresses data files from within your prog.
Ctrlbeep.opl    Demo of a beep prog running at same time  as  chrs
being typed.
Ctrlhelp.opl     Demo  of  Help  file  implementation.    Requires
Dohelp.opo. See below.

                                 D
Datadate.txt   How to extract last update date from a  data  file.
OPL example
Datetrix.txt   Using Integers in dialogs.  Converting  dDATE back
to day,month,year..
Devlist.opl     Prog  to display list of devices  present  on  the
Psion.
Devtype.opl     Prog to display device type on a specified  drive.
(e.g. on A, B).
Divline.txt     How to set/unset dialog dividing lines  where  not
normally possible.
Dohelp.opl       Prog  implements  a  help  facility.    Runs   in
background.
Doubleb.txt    How to improve screen drawing speed.
                Also  warning that only one sprite at  a  time  is
supported.
Dtmf.opl        Method  of  sounding dialling  tones  from  an  S3
program.
                                 E
E12R.opl        Appears  to convert something  using  a  table  of
values, but what?
Encrypt.opl     Demo  of encrypting/decrypting text  ,  using  the
password as a mask.
Export.opl      Writes  .dbf file to a text  file  using  selected
delimiter.
Expow.opl       Sets  Autopower off (&  on?)  using  a  background
program.

  The Ex_*.opl files below come from the Psion S3a progam manual
Ex_alarm.opl   Sets a specified alarm time.
Ex_anima.opl    Animates rectangles of the screen divided  into  5
areas.
Ex_app0.opl    Example of setting up an OPA type 0 application.
Ex_app3.opl    Example of setting up a type 3 OPA application.
Ex_birth.opl   Prog to calculate day of week from specified date
Ex_bounce.opl  Bounces a "0"  around the screen.
Ex_circl.opl   Draws a hollow elipse of specified centre,  radius,
circularity w/o trig.
Ex_circ2.opl   Draws a filled elipse of specified centre,  radius,
circularity w/o trig.
Ex_dice.opl    Prints a random integer in the range 1-6.
Ex_dtmf.opl    Prog to sound DTMF tones.  Uses OS calls.
Ex_eval.opl    Prog demonstrating use of the EVAL command.
Ex_icon.opl    Demo of creating  simple icon.
Ex-ioscr.opl   Demo of I/O calls to set font, size, style etc  for
a selected window.
Ex_iotyp.opl   Returns the type name of a specified file.
Ex_label.opl   Processes a data file to adjust it when you add  an
extra field.
Ex_menus.opl   Demo of using menu commands.
Ex_music.opl    Demo  using  beep  to  sound  notes  of   specific
frequencies.
Ex_reord.opl   Sorts a data file into rising alpha order based  on
contents of 1st field
                Uses Update to move records rather than create  an
index so don't use this  for a file held on a FLASH disk.
Ex_timer.opl   Countdown timer with a resolution of 1 second.
Ex_watch.opl   Stopwatch with a resolution of 1 second.

                                 F
Findfie2.txt    More  details  of bug  in  FINDFIELD  command  and
patches for it
Findfie3.txt   Corrections to warning in FindFie2.txt.
Findfiel.bug   Original warning of bug in FINDFIELD.
Fontform.txt   Description of the format of font files.
Format.opl     Code to format a disk in drive B, using I/O calls.
Fsize.opl       Proc  to  return  size  of  file  specified  as  a
parameter.

                                 G
Getclock.opl      Proc   which   returns    clock    type.    I.e.
Analogue/digital.
Geteva.opl      ?  Does  something with  the  TIM::  device  while
reading chrs.
Getevent.txt   Shows how in a prog to detect deletion/addition  of
a  new  file.  The text in      this file has been repeated twice,
some of  it 3 times!

                                 H
Huffman.txt     Description of Huffman algorithm  for  compressing
text.

                                 I
Inqalm.opl     Lists the alarms of all types currently queued.
Iotype.opl      ? Appears to use I/O calls to create a  one  field
.dbf file from a text file(?).

                                 K
Keycloff.txt   Code to disable k/brd clicks.

                                 L
Latlong.opl    Code to get Lat/Longditude of specified city  using
World file.  Also   describes format of World files.
Linkopl.txt    Describes how to set/unset Remote Link from  within
a prog.
Listch1.txt    Code to demonstrate scrolling in a window.
Lprintp.txt     Tip on what to poke to make LPRINT   work  to  the
screen.

                                 M
Mc2agn.opl     Prog to convert MC diary to S3 agenda file.
Mnupatch.opl    Code to patch bug in MENU command (bug=space  used
is not released).

                                 N
Noteconv.opl   How to calculate a beep frequency for  a  specified
semitone.

                                 O
Opapic.opl     ? Apparently allows you to select an existing  icon
and copy it(?).
Opl.txt        Demo of OS calls.  This one checks what is powering
the Psion.
Opldialo.txt   How to set default file extensions in dialog boxes.
Oplexam.txt     'Beginners' example of how to manage a  .dbf  file
(create, add, delete etc)
Oplfield.txt   Procedures to read/write .dbf field labels.
Oplprint.txt   How to perform Print Setup from within a prog.
Oposrch.opl     Prog  to search for text pattern inside  specified
file.
Org2agn.opl     Prog  to convert Organiser II  diary  file  to  S3
agenda format.

                                 P
Picfmt.txt     Description of the format of .pic files.
Picinopl.txt   Code showing how to store .pic files from within an
OPA application.
Psion.Ico      An icon file depicting PSION(?)
Psioncl.Ico    An icon file depicting (?)

                                 R
Readagn.opl    Displays the records of an .agn file on the screen.
Readme.txt     Detailed description of Ex_anima, Ex_alarm,
Ex_label, Ex_circ1, Ex_circ2. Runopa.txt     How to start an OPA
from within your prog.
Runsco.opl     Runs a Comms script(?) from within your prog.

                                 S
S3.Ico         Icon depicting the Psion S3(?)
S3keypad.txt     How   to  run  a  program  (with   a   particular
file(?))from a keypress combo.
S3kill.opl      A beautifully annotated set of procs  to  run/kill
apps from your prog.
S3link.Ico     An icon to use for comms link applications(?)
S3serial.txt   How to read/write from/to the serial link on the S3
(not the S3a).
Script.opl     Code for runniing a script file from your prog.
Scroll2.opl    Example of scrolling a window.
Scroll3.txt    Short tip on window scrolling.
Scrollin.opl   Example code for smooth window scrolling.
Seriafax.txt   How to run comms progs over the 3Fax.
Settime.opl     Code  to set the system time.   (For  the  3a  but
easily modifiable).
Sinus.opl       ?  Appears  to  rotate  a  gPOLY  graphic  on  the
screen(?)
Startapp.opl     An   application   launcher.    Runs    specified
application and file.

                                 T
Tell.txt       Tells your prog whether it's running on an S3 or an
S3a.
Time.opl       Example code for setting system date and time using
OS calls.
               Appears to require opl/g translator(?)
Time2.opl      Modified version of Time.opl above.  Appears not to
need opl/g(?)
Time3.opl      Another prog setting system time/date, with  an  OS
call.
Timers2.opl    Runs 2 timers with 1/10 second resolution while you
do something else.
Timeset.opl     Yet  another (outdated,  now  we  use  dialogs(?))
system time set prog.
Ttyread.txt    Reading from the serial port with a time out.
                Also  includes  mini-tutorial  on  how  to  manage
synchronous processes.
Twodtext.opl    How  to  use  a one dimensional  array  as  a  two
dimensional array.

                                 U
Undel.opl      Undeletes deleted database records and puts them in
a  new  .dbf file. Some    'style' records are also copied across.
You  have to delete these before    merging the recovered  records
back into the main file.

                                END




